GtkEntryBuffer: Use G_PARAM_EXPLICIT_NOTIFY
authorMatthias Clasen <mclasen@redhat.com>
Sun, 8 Jun 2014 15:33:52 +0000 (11:33 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 9 Jun 2014 17:31:00 +0000 (13:31 -0400)
Also avoid redundant notification for max-length.

gtk/gtkentrybuffer.c

index 8356d9515bbc8df8311f33c569f388a94b39dce9..a8d32b9e3eed5eb21e0f5a7555798753e4b1e22a 100644 (file)
@@ -378,7 +378,7 @@ gtk_entry_buffer_class_init (GtkEntryBufferClass *klass)
                                                      P_("Maximum length"),
                                                      P_("Maximum number of characters for this entry. Zero if no maximum"),
                                    0, GTK_ENTRY_BUFFER_MAX_SIZE, 0,
-                                   GTK_PARAM_READWRITE));
+                                   GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
 
   /**
    * GtkEntryBuffer::inserted-text:
@@ -578,6 +578,9 @@ gtk_entry_buffer_set_max_length (GtkEntryBuffer *buffer,
 
   max_length = CLAMP (max_length, 0, GTK_ENTRY_BUFFER_MAX_SIZE);
 
+  if (buffer->priv->max_length == max_length)
+    return;
+
   if (max_length > 0 && gtk_entry_buffer_get_length (buffer) > max_length)
     gtk_entry_buffer_delete_text (buffer, max_length, -1);